package com.tedu.api.thread;

/**
 * 线程常用方法：五
 * yield()    当前线程暂停
 * 作用：暂停当前正在执行线程对象【让当前线程对象让出CPU时间片资源】
 *      执行其他线程，但是yield，CPU时间片有时候会没有效果
 *
 * 需求：门--容纳一个人进去    Door
 *      创建两个线程    student1---如果先进门---假设：“你先”--yield()
 *                    student2---后进门---先进门
 *
 */
public class Thread_yield {
    public static void main(String[] args) {
        //创建    门   对象
        Door door=new Door();
        //假设：我说句“你先进”
        String say="你先进";
        //创建两个学生线程---第一个线程让出CPU时间片
        Thread student1=new Thread(()->{
            System.out.println("第一个人");
            door.enter();   //进入教室
            //第一个同学：说句：你先进---当前暂停
            if(say.equals("你先进")){
                Thread.yield();     //静态方法：线程暂停
            }
        });
        Thread student2=new Thread(()->{
            System.out.println("第二个人");
            door.enter();  //进入教室
        });
        student1.start();
        student2.start();
    }
}
class Door{
    public void enter(){
        System.out.println("进屋上课~~");
    }
}